# -*- coding:utf-8 -*-
from __future__ import division
"""
    构建语料库
"""
from dao.MySqlDAL import MySqlDAL
import util.word_seg_util as wordsutil
import re
from util import stock_utils
__author__ = 'shudongma.msd(风骐)'

sqlUtil = MySqlDAL()

res = sqlUtil.get_dimensions_rows('select id,title,content,keywords,type,date from tb_stock_news limit 0,1000')

# 提取语料库
seg_set = set()
content = u''
for row in res:
    content += row['content']+u' '

seg_set = set(wordsutil.cut(content,1000))
print u'长度',len(seg_set)
seg_set = seg_set - set(wordsutil.stock_mood_dict['0'])- set(wordsutil.stock_mood_dict['1'])
print u'长度',len(seg_set)
corpus = u'''
二阳 可喜可贺 跌光 筑底 平仓 涨回 阳包 熊长 一阳 减小 做套 增到 一飞冲天 登高 锁仓 增持 不减 回马枪 跌不透 破位
清盘 有红翻 盘弱 又拉回 上限 比高 强大 点跌 乱套 冲破 行情看涨 震仓 慢涨 冲高回落 回靠 爆跌 踏空 走跌 五连跌 狂震
走稳 分红 在筑底 跳空 线下 阴涨 定增 回落 多仓 调仓换 长阴破位 叫好 回弹 跌跌 涨势 回拉 翻转 阴量 多头陷阱 涨大
若大涨 疯牛 翻身 涨多 空出 推升 强拉起 大涨阳 上突 不稳 狂拉 艳阳天 高位 破底 只涨 强力 一阴 波高 停盘 领跌
暴减 急剧下降 太高 打破 拉涨 是阳 大牛前 跟风盘 缩减 红线 筑底量 五连阴 维稳 维稳红 筑底区 增数 疯涨 绿盘 暴拉 持续上升 股涨
狂跌 增资 转好 愈强 点未破 降准 牛短 增援 回笼 盘少 升起 大盘 降到 盘整 扎底 盘尾 顶上去 高涨 连涨 阳一阴
翻一翻 跌下 万跌 筑底 扭亏增盈 当好 阳吞阴 上冲 破咒 杀盘 不亏 日上 看空要 大幅提高 日增 筑底期 强刺激 拉起 拉板 破产
重多 抓涨 亏起 小阳 暴增 小阴 回暖 上攻 破线 推高 大底 稳健 跌向 沉底 金牛 暖风 做底 铁底 涨出 平稳
回调 抄 小高潮 爆量 还太高 空空 必涨 阳线 斩仓 点成底 待涨 主空 未跌 普涨 阴包 上影 回稳 爆炒 只唱空 有升
假破位 骤降 以大涨 股普涨 有维稳 下折 下折潮 续涨 上多空 见底 强反 上当 跌少 长下影 涨至 空退 留强 缓跌 助跌 高昂 降压
三连阴 小普涨 不喜 位涨 增大 小跌 全仓 急涨 抄入 减弱 抛区 飘红 上拉 缓升 小阳星 多跌少 冲入 指涨 由红翻 脉冲
说涨 上封 增收 增支 抛票 升到 转升 赚取 告破 再破 大跌 空翻多 连拉 亏空 更好 大增 上路 会涨 猛熊 盘升
跌回 跌为 惧涨 增长点 冲至 跌势 下堕 增近 牛皮市 下稳 普跌 小阳小阴 抢反弹 跌穿 跌进 转熊 已见底 更稳 连跌 套取
扬升 降底 主升 上升幅度 涨价 拔阳 微红 上不去 过大涨 多面 熊牛 下压 拉断 空 诱因 高走 线阳 不佳 盘回 扭亏为盈
熊市 强平 跌超 不涨反跌 打底 一探 合追高 上空 拉盘 猛跌 不跌反涨 大牛 已涨 拉大 和筑底 有大涨 仓冲 当牛 破六 铲底
或筑底 阳化 护底 清仓 解盘 迎难而上 转亏 可跌近 为盈 净赚 长上 连升 套牢 增仓 翻仓 减亏 至阳 长阴 峰回路转 齐涨
下探 填牛 赶底 慢跌 真破位 慢牛 跌出 测底 欢天喜地 磨底 吸高 好报 多笔 做多量 疲乏 破茧 多空大 必跌 稳妥 急拉
一涨 领涨 阴一阳 跌狠 盘内 跌去 冲刺 拉出 赢利 涨少 抛点 起爆点 迎大底 多空量 最佳时机 激增 下有 好时机 翻身仗 大跌眼镜
狂飙 寻底 冲上 四连阴 增持潮 击破 涨近 助涨 日冲 抗跌 跌透 并大幅 资金回笼 稍好 有增无减 收跌 看上 看下 见好就收 拉动
下幅 少亏 偏多 减仓 走强 喜悦 强震 趋强 洗盘 套利 跌市 跌价 喜 牛市 拉上去 好运气 为阳 涨到 收高 有空
虚高 多加 前高 新高 是筑底 散套 小幅度 空仓者 继续加强 涨不上 冲关 阳普涨 下滑 越涨 长熊 阴线 没跌 失利 走为上计 拉红
喊空 阴跌 套现 拔高 减值 出小阳 稳定增长 爆点 一冲 轻仓 盘满钵满 连阴 连阳 吸盘 好好 逆势上涨 安稳 攀升 增强 快速增长
向下倾斜 可半仓 优惠政策 跌至 翻脸 爆仓 拉长 减至 首破 大减 追跌 红三兵 红外 多方 弹升 越跌 大牛市 听涨 指大涨 红旗招展
空浪 抄下 冲板 增量 好转 爆涨 预增股 看空 快熊 高悬 太多 说降 大变盘 暴跌 转强 保持高速 反拉 衰减 空跌 喜跌
多股 大大增加 大亏 盘活 要维稳 续跌 出二阳 打高 拉升 翻绿时 大涨 不跌 力挺盘 创高 物喜 空管 增涨 至半仓 红塔 止跌
未红 暴利 牛势 狂牛 强平大 封上 阴星 偏强 赶上 探到 超跌 阴领 收出阳 回天乏力 多累 赚到 提仓 不涨 双底 亏了
空仓过 满仓 微降 黑底 跌停板 收小阳 追涨杀跌 收小阴 杀涨 起涨 再破位 看空派 挽回 探底 虚增 空仓持币 双喜 救援 过高过 看跌
跌掉 衰阳 时跌 不降 往下掉 否破位 下轨 乏力 真空 越强 回温 跌落 冲高 探出 错跌 重阳 分仓 大跳水 上破位 抛尽
深套 双增长 变盘 多空 死多 该涨 主升浪 深跌 升温 多进 攻破 下除 最红 上卖 长阳 要强 超跌股 已跌 质优 居高不下
指跌 上钩 底现 自上 强势股 喜迎 降至 拉停 短强 空窗 缩拉停 红阳 止跌回升 反弹力 上风 未破 翻绿 入仓 抛掉 做多乱
微亏 万好 阴有 求稳 涨幅 下向 稳市 阴是 套单 扭亏 盘王 九升六跌 跌多 小阴星 衰阴 向上 上移 刚涨 阳终 再冲
微涨 跌下去 爆红 全红 跳高 小阴小阳 要大涨 破净 回探 猛增 政策底 拉上 齐增 地亏 上破 触底 跌约 半仓 转暖 滞涨
冲出 盘跌 价涨量 会冲 已破 止跌企稳 包阴 转多 抛弃 补救 上扬 涨升 疯熊式 看多 减到 五牛 多利 不利因素 抄到 回流
牛鼻子 小涨 下套 加仓 下调 利差 收稳 上调 股强 追高 必阳 回本 跌坏 不高 赚大钱 诱空 阴壮 老套路 稳居 熊级
零轴下 翻翻 跳楼 爆仓会 看涨 上窜下跳 拯救 抛压会 走上 自救 破破 急跌 虚高有 封停 启稳 亏钱 锦上添花 跌破 做空 稳固
暴涨 尚佳 拉 增利 压盘 收阳 双降 走高 收阴 突破 沒大涨 无法挽回 好运 大阳线 跌会 大牛股 强突 冲劲十足 必拉 偏暖
回撤 推上去 递减 回跌 五浪大涨 占优 补仓 低仓量 留半仓 数阴 元高 根阴 砸破 三红 多边 微跌 收红 一跳 量减少 下挫
抛压 追涨 高潮 可喜 本利 多空浪 飙涨 多钱 抛盘 长空 限空令 稳定 下次 冲进去 升水 熊冠 跌到 冲高要 跌多涨少 点涨
老鼠仓 卖盘 回补 抛出 好戏 点筑底 弱盘 而多空 牢底 诱多 地盘 探尽 收涨 三连跌 蹿升 对筑底 一拉
'''
seg_set = seg_set - set(corpus.split())
print u'长度',len(seg_set)
tmplist = []
kword = [u'阳',u'底',u'爆',u'暴',u'红',u'回',u'暖',u'幅',u'探',u'仓',u'好',u'拉',u'增',u'牛',u'跌',u'涨',u'停',u'佳', u'优',u'弹',
u'盈',u'飙', u'利', u'上', u'下',u'赚',u'高',u'空',u'多',u'稳',u'喜', u'套',u'抄',u'阴',u'息',u'救',u'翻',u'乏',u'升',u'减',
u'降', u'亏',u'跳',u'熊',u'破',u'抛',u'盘',u'强',u'震',u'诱',u'冲']
for item in seg_set:
    for w in kword:
        if re.findall(w,item):
            tmplist.append(item)
            break

seg_set = set(tmplist)
print u'长度',len(seg_set)

#去除股票名称
seg_set = seg_set - set(stock_utils.stocks_name)
#
# 去除非汉字
filtedseg =  filter(lambda a:re.match(r'[^0-9A-Za-z,;]',str(a)),list(seg_set))
seg_set = set(filtedseg)

# 去除特定没用词
tmplist = []
gword = [u'星期',u'周',u'曾',u'料',u'节',u'剑',u'歌',u'个',u'场',u'之',u'屁',u'季',u'布',u'图',u'酣',u'月',u'学',u'恋'
    ,u'这',u'侧',u'第',u'开',u'须',u'达',u'饭',u'意',u'玄',u'中',u'仍',u'每',u'配',u'抱',u'着',u'确',u'源',u'幕',u'姓'
    ,u'形',u'碳',u'檀',u'早',u'沈',u'列',u'教',u'旅',u'尤',u'证',u'肩',u'于',u'来',u'获',u'媒',u'刘',u'谋',u'特',u'先'
    ,u'涉',u'售',u'查',u'牌',u'似',u'话',u'遇',u'货',u'性',u'息',u'事',u'啰',u'渡',u'标',u'脆',u'能',u'悔',u'得',u'促'
    ,u'梅',u'防',u'捌',u'拍',u'克',u'发',u'后',u'两',u'毁',u'嘴',u'国',u'讨',u'习',u'旭',u'播',u'俱',u'视',u'辣',u'轮'
    ,u'人',u'色']
for item in seg_set:
    tmpflag = True
    for w in gword:
        if re.findall(w,item):
            tmpflag = False
            break
    if tmpflag:
        tmplist.append(item)
seg_set = set(tmplist)
print u'长度',len(seg_set)
# 去除没用词汇
gabage_words = u'''白色家电 半导体及元件 包装印刷 保险及其他 采掘服务 传媒 电力 电气设备 电子制造 房地产开发 纺织制造 非汽车交运 服装家纺 钢铁 港口航运 公交 公路铁路运输 光学光电子 国防军工 化工合成材料
化工新材料 化学制品 化学制药 环保工程 机场航运 基础化学 计算机设备 计算机应用 家用轻工 建筑材料 建筑装饰 交运设备服务 景点及旅游 酒店及餐饮 零售 贸易 煤炭开采 农产品加工 农业服务 其他电子
汽车零部件 汽车整车 燃气水务 生物制品 石油矿业开采 食品加工制造 视听器材 通信服务 通信设备 通用设备 物流 新材料 养殖业 医疗器械服务 医药商业 仪器仪表 银行 饮料制造 有色冶炼加工 园区开发
造纸 中药 种植业与林业 专用设备 综合 采掘业 传播与文化产业 电力、煤气及水的生产和供应业 房地产业 建筑业 交通运输、仓储业 金融、保险业 农、林、牧、渔业 批发和零售贸易 社会服务业 信息技术业 制造业 综合类 阿里巴巴概念 安防
白酒 参股金融 参股民营银行 参股新股 草甘膦 超导 车联网 充电桩 触摸屏 大飞机 大数据 迪士尼 地下管网 电力改革 电子发票 电子商务 东盟自贸区 二胎概念 分散染料 风电
风能 氟化工 福建自贸区 高端装备 高送转 高送转预期 高铁 高校 工业4.0 供应链金融 股东增持 固废处理 光伏概念 国产软件 海工装备 杭州亚运会 核电 互联网彩票 互联网金融 沪港通概念
黄金 机器人概念 基因测序 集成电路 家用电器 建筑节能 健康中国 江苏国资改革 节能环保 节能照明 金融IC 京津冀一体化 举牌 军工 O2O概念 跨境电商 宽带中国 蓝宝石 冷链物流 锂电池
两桶油改革 马云概念 煤化工 美丽中国 民营医院 能源互联网 农村电商 农机 农业现代化 P2P概念 PM2.5 PPP概念 ST板块 苹果概念 期货概念 汽车电子 禽流感 乳业 上海国资改革 上海自贸区
深港通 深圳国资改革 生态农业 生物医药 生物质能 石墨烯 食品安全 手机游戏 水利 太阳能 钛白粉 碳纤维 特钢 特高压 特斯拉 体育产业 天津自贸区 天然气 通用航空 土地流转
脱硫脱硝 王亚伟 网络安全 网络彩票 网络游戏 维生素涨价 尾气治理 卫星导航 文化传媒 污水处理 无人机 物联网 物流电商平台 西安自贸区 西气东输 稀缺资源 稀土永磁 小金属 新材料概念 新股与次新股
新疆振兴 新能源 新能源汽车 新型城镇化 虚拟现实 养老概念 页岩气 一带一路 医疗改革 医疗器械 医药电商 移动互联网 移动支付 油品改革 油品升级 粤港澳自贸区 云计算 在线教育 在线旅游 振兴东北
证金持股 职业教育 智慧城市 智能穿戴 智能电视 智能电网 智能家居 智能医疗 中韩自贸区 猪肉 转融券标的 足球概念'''

seg_set = seg_set - set(gabage_words.split())
print u'长度',len(seg_set)
c = 0
for v in seg_set:
    print v,
    c += 1
    if c%20==0:
        print ''